package com.hfut.eeg.dao;

import com.hfut.eeg.dto.DiagnoseDatePatient;
import com.hfut.eeg.dto.PatientListResult;
import com.hfut.eeg.dto.PatientSingleParam;
import com.hfut.eeg.dto.QueryPatientsParam;
import org.apache.ibatis.annotations.Param;

import java.sql.Date;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;

public interface PatientMapper {
    //获取某页中所有病人数据信息
    List<PatientListResult> getPatientList();

    //根据搜索条件查询病人
    List<PatientListResult> queryPatients(QueryPatientsParam param);

    //根据id删除病人信息
    int deletePatientById(HashMap<String,Object> map);

    //添加病人信息
    int addPatient(PatientSingleParam param);

    //今日待就诊病人
    List<DiagnoseDatePatient> getDatePatient(@Param("date") String date);

    //获取最新的病人主键信息
    String getPatientLatestID ();

    //修改病人当前检查状态
    int changePatientStatus(HashMap map);

    //更新病人的检查时间
    int updatePatientCheckTime(HashMap map);

    //获取当前病人检查时间
    Timestamp getPatientCheckTime(String patientId);

    //更新病人检查花费的时间
    int updatePatientCostTime(HashMap map);

    //根据病人的ID获取病人的姓名
    String getNameById(String patientId);

    //根据病人Id获取病人信息
    PatientListResult getPatientById(String Id);

    //更新病人的异常波数量
    int updateAbWavesNum(HashMap map);

    //根据EEGID获取病人信息
    PatientListResult getPatientByEEG(Long eegId);

    Long getPatientLatestEEGId(String patientId);

    List<PatientListResult> getAllPatientChecked();
}
